
package wm.gui;

import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class FormatoTabla extends DefaultTableCellRenderer{    
	private static final long serialVersionUID = 1L;
	Font normal = new Font( "Arial",Font.PLAIN,12 );
    Font negrilla = new Font( "Helvetica",Font.BOLD,18 );
    Font cursiva = new Font( "Times new roman",Font.ITALIC,12 );

    @Override 
    public Component getTableCellRendererComponent ( JTable table, Object value, boolean selected, boolean focused, int row, int column ) 
    {
        setEnabled(table == null || table.isEnabled()); 
        
        //setBackground(Color.cyan);//color de fondo
        //table.setFont(normal);//tipo de fuente
        //table.setForeground(Color.black);//color de texto
        //setHorizontalAlignment(2);//derecha
                
        //si la celda esta vacia se reemplaza por el texto "<vacio>" y se rellena la celda de color negro y fuente color blanco
    /*    if(String.valueOf(table.getValueAt(row,column)).equals("")||String.valueOf(table.getValueAt(row,column)).equals("<vacio>")){            
            table.setValueAt("<vacio>", row, column);
            setBackground(Color.black);                         
            table.setForeground(Color.white);
            table.setFont(cursiva);
        }*/
        /*--------*/
        if (column == 0){
	        Date fecha = null;
	        SimpleDateFormat formatoDelTexto = new SimpleDateFormat("dd/MM/yyyy");
	        String strFecha = String.valueOf(table.getValueAt(row, column));
	        try {
				fecha = formatoDelTexto.parse(strFecha);
			} catch (ParseException e) {
				e.printStackTrace();
			}
			Calendar fechaActual = Calendar.getInstance();
	        if (fecha.after(fechaActual.getTime())) {
	        	setBackground(Color.RED); 
	        	setFont(negrilla);
	        }
	        fechaActual.add(Calendar.DATE, +7);
			if (fecha.after(fechaActual.getTime())){
	        	setBackground(Color.ORANGE); 
	        	setFont(negrilla);
	        }
			fechaActual.add(Calendar.DATE, +7);
			if (fecha.after(fechaActual.getTime())){
	        	setBackground(Color.GREEN); 
	        	setFont(negrilla);
	        }
			
        }
        /*
        if(String.valueOf(table.getValueAt(row,column)).equals("jc Mouse")){
            setBackground(Color.red); 
            table.setFont(negrilla);                
            setHorizontalAlignment(0);//centro
        }   */                     
        /*--------*/
       /* if(String.valueOf(table.getValueAt(row,column)).equals("de")){
            setBackground(Color.yellow);         
            table.setFont(negrilla);                
            setHorizontalAlignment(0);//centro
        }*/
         /*--------*/   
     /*   if(String.valueOf(table.getValueAt(row,column)).equals("Bolivia")){
            setBackground(Color.GREEN); 
            table.setFont(negrilla);                
            setHorizontalAlignment(0);//centro
        }        */
        /*--------*/
        //si la celda contiene números
       /* if(isNumber(String.valueOf(table.getValueAt(row,column)))){
            setBackground(Color.BLUE); 
            setHorizontalAlignment(4);//izquierda
        }      
        */
        super.getTableCellRendererComponent(table, value, selected, focused, row, column);         
        return this;
 }

}